//package com.example.demo.config;
//
//import org.springframework.context.annotation.Bean;
//import org.springframework.context.annotation.Configuration;
//import org.springframework.security.config.annotation.authentication.builders.AuthenticationManagerBuilder;
//import org.springframework.security.config.annotation.web.builders.HttpSecurity;
//import org.springframework.security.config.annotation.web.configuration.WebSecurityConfigurerAdapter;
//import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder;
//import org.springframework.security.crypto.password.PasswordEncoder;
//
///**
// * @program: MyBatisGenerator
// * @author: daPangDong
// * @create: 2022-05-30 09:43
// */
//@Configuration
//public class SecurityConfiguration extends WebSecurityConfigurerAdapter {
//    @Override
//    protected void configure(AuthenticationManagerBuilder auth) throws Exception {
////        PasswordEncoder pe = passwordEncoder();
//        auth
//                .inMemoryAuthentication()
//                // 添加用户admin
//                .withUser("admin")
//                // 设置密码加密
//                .password("{noop}admin")
//                // 添加角色为admin，user
//                .roles("ADMIN", "USER")
//                .and()
//                // 添加用户user
//                .withUser("user")
//                // 不设置密码加密
//                .password("{noop}user")
//                .roles("USER")
//                .and()
//                // 添加用户tmp
//                .withUser("tmp")
//                .password("{noop}tmp")
//                .roles(); // 没有角色
//    }
//    @Override
//    protected void configure(HttpSecurity http) throws Exception {
//        http
//                //授权的配置
//                .authorizeRequests()
//                //访问此地址就不需要进行身份认证
//                .antMatchers("/templates/html/UserList.html").permitAll()
//                //添加/product/** 下的所有请求只能由user角色才能访问
//                .antMatchers("/user/**").hasRole("USER")
////                //添加/admin/** 下的所有请求只能由admin角色才能访问
//                .antMatchers("/user/**","/userRole/**").hasRole("ADMIN")
//                //任何请求
//                .anyRequest()
//                .authenticated() // 没有定义的请求，所有的角色都可以访问（tmp也可以）。
//                .and()
//                .formLogin()
//                .and()
//                .httpBasic();
//    }
//
//
////    //创建密码的加密类，算法多种，自行选择合适的算法
////    @Bean
////    public PasswordEncoder passwordEncoder(){
////        // 通过passwordEncoder的实现类，实现加密算法
////        return new BCryptPasswordEncoder();
////    }
//
//
//}